---@class AttributeClass:AttributeFuncClass
local class = Class(AttributeClass):extend(AttributeFuncClass)

---@private
function class:construct()
    self:prop("reborn", -1e3)
    self:prop("rebornHP", 100)
    self:prop("rebornMP", 100)
    self:prop("rebornInvulnerable", 3.476)
    self:prop("hpRegen", 0)
    self:prop("hp", 1e4)
    self:prop("hpCur", 1e4)
    self:prop("hpSuckAttack", 0)
    self:prop("hpSuckAbility", 0)
    self:prop("mpRegen", 0)
    self:prop("mp", 1e4)
    self:prop("mpCur", 1e4)
    self:prop("mpSuckAttack", 0)
    self:prop("mpSuckAbility", 0)
    self:prop("sightBase", 0)
    self:prop("sightDiff", 0)
    self:prop("sight", 0)
    self:prop("nsight", 0)
    self:prop("attack", 0)
    self:prop("attackSpaceBase", 0)
    self:prop("attackSpace", 0)
    self:prop("attackSpeed", 0)
    self:prop("attackRangeAcquire", 0)
    self:prop("attackRangeMin", 0)
    self:prop("attackRange", 0)
    self:prop("attackRipple", 0)
    self:prop("defend", 0)
    self:prop("move", 0)
    self:prop("str", 0)
    self:prop("agi", 0)
    self:prop("int", 0)
    self:prop("cure", 0)
    self:prop("avoid", 0)
    self:prop("aim", 0)
    self:prop("punish", 0)
    self:prop("punishCur", 0)
    self:prop("punishRegen", 0)
    self:prop("shieldBack", 30)
    self:prop("shield", 0)
    self:prop("shieldCur", 0)
    self:prop("weight", 0)
    self:prop("weightCur", 0)
    self:prop("hurtIncrease", 0)
    self:prop("hurtReduction", 0)
    self:prop("hurtRebound", 0)
    self:prop("damageIncrease", 0)
    self:prop("crit", 0)
    self:prop("stun", 0)
    self:prop("visible", 0)
    self:prop("costPercent", 0)
    self:prop("cost", 0)
    self:prop("castChantPercent", 0)
    self:prop("castChant", 0)
    self:prop("coolDownPercent", 0)
    self:prop("coolDown", 0)
    self:prop("castKeepPercent", 0)
    self:prop("castKeep", 0)
    self:prop("castDistancePercent", 0)
    self:prop("castDistance", 0)
    self:prop("castRangePercent", 0)
    self:prop("castRange", 0)
    -- 默认各附魔强化和抵抗
    for _, k in ipairs(ENCHANT_TYPES) do
        local strengthen = Enchant(k):strengthen()
        local resistance = Enchant(k):resistance()
        if (strengthen ~= 0) then
            self:enchant(k, strengthen)
        end
        if (resistance ~= 0) then
            self:enchantResistance(k, resistance)
        end
    end
end